In operating systems, an overlay is when a process replaces itself with the code of another program. On Unix-like systems, this is accomplished with the exec() system call.
In Unix, the only way to run new programs is to fork the running process, and then overlay the new program on top of the child. This is known as the fork-exec technique.